In certain conventional applications, computer systems sometimes include one or more processors and corresponding software that supports access to corresponding externally attached storage. For example, according to certain conventional applications, multiple computers may couple and communicate to a common shared storage system that stores large volumes of data. Depending on access configuration information, two or more of the computers may be afforded access to the same files stored in the shared storage system.
To prevent file corruption, conventional applications supporting access to the shared storage typically employ some means for preventing two or more users from modifying the same file at the same time. Otherwise, the two or more computers having write access to a given file in the shared storage system may simultaneously access and modify the same file. For example, one user may modify the given file with a first set of changes. Another user may attempt modify the given file with a second set of changes. Without an accounting for each user's changes, some of the changes to the given file may be lost when the users eventually store the modified file back to the shared storage system. It is quite possible in such applications that the latter user writing the file to storage may overwrite changes by the first user storing the file to storage. Thus, simultaneous access to the same file in storage is sometimes avoided altogether.
There exist conventional techniques to enable multiple users to work on the same file in a storage system without corruption. For example, according to one conventional application, each of multiple computers couple to a server device that, in turn, selectively provides access to a corresponding storage system. While a first user at a corresponding computer modifies a file in the storage system, the server device prevents other users from accessing (both reading and writing to) the same file to prevent two different users from simultaneously modifying the same file or one user to read stale data. After the first user completes any modifications and updates to the file in the storage device, the server device may allow another user to access the file in the storage system. Thus, the server device prevents corruption of shared files in the storage system by restricting access to any files presently being modified by other users. In other words, only one user is allowed to access and modify a file at a time. There also exist conventional techniques for allowing multiple computers shared access which shared access is devoted only to reading the file, and thus allows no corruption. Whenever some of the computers need to modify the file, the server device revokes the shared access from the other computers and grants write access to the requesting computer ensuring no computer keeps stale file contents.